home *** CD-ROM | disk | FTP | other *** search
- HPFSDFRG.EXE - Defragment files on an OS/2 HPFS drive.
-
- Author: Jack Grey: Compuserve [76040,342], jackgrey@iglou.com
-
- Written: December 1993.
-
- Compiled February 1994 with the GNU C Compiler version 2.5.8 for EMX 0.8H
- with EMX libraries at patch level 5. The EMX .DLL files are not required.
-
- Updated May 1994 GNU C 2.5.8, EMX 0.8H patch level 6. Added open file skip
- and preservation of state of the Archive flag bit. Previous versions set all
- files as unarchived, interfering with certain backup programs/procedures.
- Open file skip allows partial defragmentation of a partition containing open
- or locked files.
-
- ----------------------------------------------------------------------------
-
- DISCLAIMER:
- -----------
-
- In consideration of the use of this program, all USERS ACKNOWLEDGE
- THAT THERE ARE NO WARRANTIES AS TO MERCHANTABILITY OR FITNESS FOR
- A PARTICULAR PURPOSE AND USERS ACCEPT THE RESPONSIBILITY TO TAKE
- SUCH STEPS AS THEY DEEM NECESSARY TO PROTECT THEIR SYSTEMS AND DATA.
- THE AUTHOR CANNOT BE LIABLE FOR ANY LOSSES OCCURRING AS A RESULT OF
- THE USE OF THIS PROGRAM.
-
- YOU USE THIS PROGRAM ENTIRELY AT YOUR OWN RISK.
-
- ----------------------------------------------------------------------------
-
- Usage: hpfsdfrg <directory name with terminating slash> [-s] [-r]
-
- -s parm will do all directories below as well
-
- -r parm will cause open/in-use files to be skipped, allowing partial
- defragmentation of active volumes.
-
- Examples:
-
- Dir \temp1\ only: hpfsdfrg \temp1\
-
- Dir \temp1\ and its subdirectories: hpfsdfrg \temp1\ -s
-
- Entire current drive: hpfsdfrg \ -s
-
- Entire current drive, skip open files: hpfsdfrg \ -s -r
-
- ----------------------------------------------------------------------------
-
- IMPORTANT USAGE INSTRUCTIONS! READ PRIOR TO USING HPFSDFRG!
- -----------------------------------------------------------
-
- As with any utility that makes major changes to files, it is recommended that
- DATA BE BACKED UP PRIOR TO THE USE OF HPFSDFRG.
-
- This program is most effective when files are not opened or locked by system
- processes. As such, in order to fully defragment a partition, it is recommended
- that the system be booted from another partition or floppy disk and the program
- itself be loaded from a source other than the target drive. If an open or locked
- file is encountered, the program will terminate unless the -r parameter is
- specified. If -r is specified, a message indicating that a file was skipped is
- displayed.
-
- The program has been tested under OS/2 2.1 GA and OS/2 2.11 with both HPFS.IFS
- and HPFS386.IFS on 80386 and 80486 systems with HPFS partitions as large as
- 2 gigabytes.
-
- However, IT HAS NOT been tested on IBM Lan Server/Microsoft Lan Manager drives
- containing ACL information. As such, please proceed with caution in these
- environments. The author would be interested in feedback regarding the use of
- hpfsdfrg in these environments.
-
- The program sets write verify on during execution. It is recommended that a
- minimum-sized HPFS cache be allocated and that the Lazy Write option be set to
- OFF ( CACHE /LAZY:OFF or CACHE386 /LAZY:OFF ) prior to running hpfsdfrg.
-
- Files flagged System, Hidden, or ReadOnly are not processed.
-
- There must be free space available on the drive greater than the size of
- the largest file processed by hpfsdfrg.
-
- Finally, DO NOT INTERRUPT THE PROGRAM BY PRESSING CTRL-BREAK OR CTRL-C!
- DOING SO MAY RESULT IN CORRUPTION OF THE FILE BEING PROCESSED AT THE TIME.
- Pressing the ESCAPE key will cause the program to terminate after completing
- processing of the current file.
-
-
- HOW IT WORKS:
- -------------
-
- Each file processed is copied to a temporary file named '~~~~~~~~.$$$' in the
- current directory. If the copy is successful, the original file is deleted and
- the temporary file is renamed to the original file's name. Date stamps and
- extended attributes are preserved.
-
- The program takes advantage of the HPFS property of attempting to create a file
- in a contiguous area of free space on the drive. However, a file may not be
- fully defragmented if there is not a contiguous space greater than or equal to
- the size of the file. In any case, a minimal number of fragments will be used.
-
-
- RECOVERY:
- ---------
-
- Every effort has been taken to avoid data loss. The program will terminate
- if it is able to detect an error condition during execution. However, in the
- event the renaming of the temporary file fails, the program will terminate
- and the temporary file will remain in the directory being processed at the
- time of failure. The name of the file being processed will be displayed and
- the user may attempt to recover by manually renaming the temporary file to
- the original file name. ONCE AGAIN, PLEASE BACK UP YOUR DATA PRIOR TO USING
- HPFSDFRG.
-
-
- DISTRIBUTION:
- ------------
-
- The author offers this program to the public domain for distribution in
- unmodified form with all files contained in the archive HPDF_102.ZIP. This
- documentation file must be included.
-